package com.zllkj.mm.api.remote;


import com.zllkj.mm.api.network.BaseResponse;
import com.zllkj.mm.model.entity.AfterSaleDetailVo;
import com.zllkj.mm.model.entity.AfterSalesBean;
import com.zllkj.mm.model.entity.CreateOrderResp;
import com.zllkj.mm.model.entity.OrderDetailBean;
import com.zllkj.mm.model.entity.OrderListItem;
import com.zllkj.mm.model.entity.WeChatPayResp;

import java.util.Map;

import retrofit2.http.Body;
import retrofit2.http.POST;
import rx.Observable;

public interface OrderApi {
    @POST("order/buyer/list")
    Observable<BaseResponse<OrderListItem>> getOrderList(@Body Map<String, Object> map);

    @POST("order/buyer/detail")
    Observable<BaseResponse<OrderDetailBean>> getOrderDetail(@Body Map<String, Object> map);

    @POST("order/buyer/cancel")
    Observable<BaseResponse<String>> cancelOrder(@Body Map<String, Object> map);

    @POST("order/buyer/remindShipping")
    Observable<BaseResponse> remindShipping(@Body Map<String, Object> map);

    @POST("order/buyer/create")
    Observable<BaseResponse<CreateOrderResp>> createOrder(@Body Map<String, Object> map);

    @POST("afterSale/buyer/afterSaleList")
    Observable<BaseResponse<AfterSalesBean>> getAfterSaleList(@Body Map<String, Object> map);

    @POST("afterSale/buyer/detailVo")
    Observable<BaseResponse<AfterSaleDetailVo>> getAfterSaleOrderDetail(@Body Map<String, Object> map);

    @POST("afterSale/buyer/apply")
    Observable<BaseResponse> userApplyAfterSale(@Body Map<String, Object> map);


    @POST("pay/getAliPayInfo")
    Observable<BaseResponse<String>> getAliPayOrderInfo(@Body Map<String, Object> map);


    @POST("pay/getWxPayInfo")
    Observable<BaseResponse<WeChatPayResp>> getWeChatPayOrderInfo(@Body Map<String, Object> map);


}
